export enum OrganizationType {
  company = "company",
  organization = "organization",
}

export interface OrganizationItem {
  address?: string;
  children?: OrganizationItem[];
  companyFullName?: string;
  companyId?: string;
  companyInnerId?: number;
  companyShortName?: string;
  coverPhoto?: string;
  description?: string;
  isHeadquarter?: boolean;
  logoImage?: string;
  organizationLevel?: number;
  phone?: string;
  rootId?: number;
  tenantId?: string;
  userCount?: number;
  organizationType?: OrganizationType;
  contact?: string;
  parentCompanyInnerId?: number;
  parentName?: string;
  regionId?: string;
  createdUserName?: string;
  createdOn?: string;
  defaultManager?: string;
}

export interface OrgUserData {
  companyId: string;
  companyName: string;
  organizationMembers: {
    avatar: string;
    userId: string;
    userName: string;
    phone: string;
    roleId: string;
    roleName: string;
    isSystem?: number;
  }[];
  organizations: {
    companyId: string;
    companyName: string;
    memberCount: number;
  }[];
}

export interface UserItem {
  userName?: string;
  userId?: string;
  organizations?: string;
  createdOn?: string;
  phone?: string;
  roleId?: string;
  roleName?: string;
  isSystem?: number;
}

export interface OrgUserSearchModel {
  excludeRoleIds?: string;
  searchText?: string;
  organizationId?: string;
}

export interface PositionItem {
  companyId: string;
  createdOn: string;
  description: string;
  positionId: string;
  positionName: string;
  updatedOn: string;
}
